Chod hore
Predchádzajúca stránka Nasledujúca stránka Začiatok kapitoly Koniec kapitoly Začiatok kurzu Koniec kurzu


7.2 Typ reálne číslo


Tento typ slúži na prácu s ešte väčšími číslami ako boli celé čísla a navyše môže spracovávať aj desatinné čísla. Typ Real zaberá v pamäti 6 Bytov.

Var R : Real ;


Pascal uchováva reálne čísla vo forme tzv. pohyblivej rádovej čiarky, pričom rezervuje 1 bite na znamienko čísla (ak je kladné, potom 0 a pre záporné 1):

Mantisa * 10exponenta , kde

  • 0 <= Abs(mantisa) < 10
  • exponenta je celé číslo so znamienkom.

V Turbo Pascale ho zapíšeme nasledovne:

Mantisa[Exponenta]


Hranaté zátvorky znamenajú to, že časť exponenta môžeme vynechať, ak jej hodnota je 1.
Napr.:

4E5400 000
2.5E32 500
1.5E-20.015


Nesprávne zadané reálne čísla:

.7nie je celá časť
E4nie je mantisa
1.8E38príliš veľké číslo - rozpätie je 2.9E-39 < | R | < 1.7E38

Sú aj ďalšie typy reálnych čísel (Single, Double, Extended, Comp) ale teraz sa s nimi zaoberať nebudeme.

TypRozsahPlatné číslicePočet Bytov
real2.9*10-39 až 1.7*103811 - 126
single1.5*10-45 až 3.4*10387 - 84
double5.0*10-324 až 1.7*1030815 - 168
extended3.4*10-4932 až 1.1*10493219 - 2010
comp-263 + 1 až 263 - 119 - 208


Jedine typ comp sa nezobrazuje v pohyblivej ale v pevnej desatinnej čiarky a má rozsah približne -9.2*1018 až 9.2*1018. Rozsah ostatných typov sa chápe ako možné rozpätie kladných hodnôt, záporné majú ten istý rozsah len s mínusom a 0.

Operácie s reálnymi číslami:

+,-znamienko - jednozložková operácia
*znamienko - dvojzložková operácia
/delenie
+sčítanie
-odčítanie

Ak niektorá zo zložiek týchto operácií je reálne číslo, potom aj výsledok bude takým, okrem delenia. V prípade delenia výsledok je vždy reálnym číslom

Vážnejšie funkcie a podprogramy s reálnymi argumentmi:

Int(R)funkcia celá časť, iba v tom sa líši od funkcie Trunc, že výsledok má typ Real.
Abs(R)funkcia absolútna hodnota čísla R.
Sqr(R)funkcia vracia druhú mocninu čísla R.
Sqrt(R)funkcia vracia druhú odmocninu čísla R.
Pifunkcia, vracajúca hodnotu Pi: 3.1415926536
Random(Hranica)funkcia generujúca náhodné číslo
  • ak hodnota Hranica je typu Word, potom hodnota výsledku bude celé číslo z intervalu [0,Hranica). 0 tam patrí a Hranica - nie.
  • ak vynecháme parameter Hranica, potom výsledkom bude reálne číslo z intervalu [0,1).
Pred použitím tejto funkcie generátor náhodných čísel musíme inicializovať. Uvedieme príklad generovania náhodného celého čísla z intervalu [20,30].

Randomize ;
WriteLn(Random(30-20+1)+20) ;
Sin(R)dobre známa funkcia sínusu z matematiky. Uhol musí byť zadaný v radiánoch. Uvedieme príklad so stupňami:

Stupen := 30 ;
Radian := Stupen*Pi/180 ; { Radián bude 0.523599 }
Sínus := Sin(R) ; { Sínus bude 0.5 }
Ln(R)funkcia prirodzeného logaritmu z reálneho čísla
Exp(R)funkcia exponenciálnej funkcie so základom e=2,7...


Poznámka. Turbo Pascal nemá špeciálnu funkciu vo všeobecnom tvare pre umocňovanie a odmocňovanie, ale dá sa to dosiahnuť pomocou posledných dvoch funkcií. Napr.:

AB = Exp(Ln(A)*B)